class IStorageEngine(object):
    class IDao(object):
        def isCmd(self, cmd, kw):
            return "cmd" in kw and kw["cmd"] == cmd

    def close(self):
        pass
    def create(self, obj, **kwargs):
        pass
    def drop(self, obj, **kwargs):
        pass
    def insert(self, obj, **kwargs):
        pass
    def delete(self, obj, **kwargs):
        pass
    def update(self, obj, **kwargs):
        pass
    def query(self, obj, **kwargs):
        pass
#end class



class SqliteBatchStorage(IStorageEngine):
    class ISqliteDaoBatch(object):
        def insertSql(self, **kwargs):
            pass
        def deleteSql(self, **kwargs):
            pass
        def updateSql(self, **kwargs):
            pass
        def querySql(self, **kwargs):
            pass
        def toPojo(self, obj, **kwargs):
            pass

    def __init__(self, url):
        self.__url = url
        pass
    def close(self):
        pass

    def insert(self, sqlObj, **kwargs):
        pass
    def delete(self, sqlObj, **kwargs):
        pass
    def update(self, sqlObj, **kwargs):
        pass
    def query(self, sqlObj, **kwargs):
        pass
#end class
